import Vue from 'vue'
import App from './App'

import config from './common/config.js'
import http from './common/http.js'
import store from './store'
import md5 from './common/md5.js'

Vue.config.productionTip = false
Vue.prototype.request = http

//挂载全局自定义方法
Vue.prototype.$Store = store;

// Vue.prototype.$invite_code = '' // 预定义邀请码为空
// Vue.prototype.$openPages = '' // 分享可能打开的页面

// uni.setStorageSync('token', '529dPc0wNUH/WAhqKQTfPuBr7iqQgSUZydleVMr3')//测试token

// 全局引用组件
// import ourLoading from '@/components/our-loading/our-loading.vue'

// 注册组件
// Vue.component('ourLoading', ourLoading)

const api = {
	getStatusH() {
		return uni.getSystemInfoSync().statusBarHeight + 'px'
	},
	/**
	 * 函数防抖
	 * 触发事件后在n秒后执行，如果n秒内又触发事件，则重新计算时间
	 */
	debounce(fn, wait = 1000) {
		let timer;
		return function() {
			let context = this;
			let args = arguments;
			console.log(timer)
			if (timer) {
				clearTimeout(timer);
			}
			timer = setTimeout(() => {
				fn.apply(context, args);
			}, wait)
			console.log(timer)
		}
	},
	/**
	 * 函数节流
	 * 触发事件立即执行，但在n秒内连续触发则不执行  
	 * 应用:按钮提交
	 */
	throttle(fn, wait = 1000) {
		let timer;
		return function() {
			if (timer != null) return;
			let context = this;
			let args = arguments;
			fn.apply(context, args);
			timer = setTimeout(() => {
				timer = null;
			}, wait);
		}
	},
	/**
	 * 判断是否登录
	 */
	isLogin() {
		let _token = uni.getStorageSync('token')
		if (_token) {
			return true
		} else {
			return false
		}
	},
}
Vue.prototype.$ = api

// let arr = [] // 地址的数组
// uni.getLocation({
// 	type: 'wgs84',
// 	// #ifdef APP-PLUS
// 	geocode: true,
// 	// #endif
// 	success: function(res) {
// 		// console.log('当前位置的经度：' + res.longitude);
// 		// console.log('当前位置的纬度：' + res.latitude);
// 		// 通过经纬度请求到当前城市id
// 		uni.request({
// 			url: `${config.baseUrl}/api/Index/getCity`,
// 			method: 'GET',
// 			data: {
// 				longitude: res.longitude || 114.059953,
// 				latitude: res.latitude || 22.547655
// 			},
// 			success(ret) {
// 				// console.log(ret);
// 				ret = ret.data.data
// 				console.log(ret);
// 				let area_info = {}
// 				area_info.name = ret[0].name
// 				area_info.id = ret[0].id
// 				arr = [area_info, res.longitude, res.latitude]
// 				console.log(arr)
// 				Vue.prototype.$area = arr // 挂载到Vue原型上 除了在tab1上调用
// 			},
// 			fail(err) {
// 				console.log(err);
// 			}
// 		})
// 	}
// });


// 解决因存在缓存不再登录 而获取不到邀请码 绑定不了朋友关系的问题
// let t = uni.getStorageSync('token')
// if (t) {
// 	uni.request({
// 		url: config.baseUrl + '/api/User/getUserInviteCode',
// 		data: {
// 			token: t
// 		},
// 		success: function(res) {
// 			console.log(res.data);
// 			if (res.data.code == 96) {
// 				uni.clearStorage()
// 			} else {
// 				Vue.prototype.$invite_code = res.data.data
// 				uni.setStorageSync('inviteCode', res.data.data)
// 			}
// 		},
// 		fail: function(err) {
// 			console.log(err);
// 		}
// 	})
// }


App.mpType = 'app'

const app = new Vue({
	...App
})
app.$mount()